1. Field of the Invention
The present invention relates to a decoder for decoding a low-density parity-check code and a method for doing the same.
2. Description of the Related Art
A low-density parity-check code (hereinafter referred to as LDPC code) has recently been noted as an error checking and correcting code. Message-passing algorithm is known as a technology for decoding an LDPC code (see, for example, Andrew J. Blanksby and Chris J. Howland, “A 690-mW 1-Gb/s 1024-b, Rate-1/2 Low-Density Parity-Check Code Decoder”, IEEE Journal of Solid-State Circuits, Vol. 37, No. 3, March 2002, pp. 404-412. In the message-passing algorithm, a bit update for each row of a check matrix (parity check matrix) for an LDPC code and a parity update for each column thereof are repeated in order to decode the LDPC code.
The above LDPC code is very strong. If, however, it is decoded repeatedly, the number of errors may increase or decrease in intermediate results obtained from the decoding. If, in particular, the number of uncorrectable errors caused in the intermediate results is graphed, it may increase or decrease with a large amplitude. If an LDPC code is determined as an uncorrectable one after its decoding is repeated a given number of times, a result of the decoding is likely to be output when the above amplitude is high, or when the number of errors increases.